import { IPSLanguageRes } from '../../res/ipslanguage-res';
import { IPSUIActionGroupDetail } from '../../view/ipsuiaction-group-detail';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSDEUIActionGroupDetail
 */
export interface IPSDEUIActionGroupDetail extends IPSUIActionGroupDetail {
  /**
   * 后置内容
   * @type {string}
   */
  afterContent: string;

  /**
   * 后置内容类型
   * @description 值模式 [界面行为成员项附加内容类型] {NONE：无、 RAW：直接内容 }
   * @type {( string | 'NONE' | 'RAW')}
   * @default NONE
   */
  afterItemType: string | 'NONE' | 'RAW';

  /**
   * 后置内容语言资源对象
   *
   * @type {IPSLanguageRes}
   */
  getAfterPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 后置内容语言资源对象
   *
   * @type {IPSLanguageRes}
   */
  get afterPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 后置内容语言资源对象（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getAfterPSLanguageResMust(): IPSLanguageRes;

  /**
   * 前置内容
   * @type {string}
   */
  beforeContent: string;

  /**
   * 前置内容类型
   * @description 值模式 [界面行为成员项附加内容类型] {NONE：无、 RAW：直接内容 }
   * @type {( string | 'NONE' | 'RAW')}
   * @default NONE
   */
  beforeItemType: string | 'NONE' | 'RAW';

  /**
   * 前置内容语言资源对象
   *
   * @type {IPSLanguageRes}
   */
  getBeforePSLanguageRes(): IPSLanguageRes | null;

  /**
   * 前置内容语言资源对象
   *
   * @type {IPSLanguageRes}
   */
  get beforePSLanguageRes(): IPSLanguageRes | null;

  /**
   * 前置内容语言资源对象（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getBeforePSLanguageResMust(): IPSLanguageRes;

  /**
   * 标题语言资源对象
   *
   * @type {IPSLanguageRes}
   */
  getCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 标题语言资源对象
   *
   * @type {IPSLanguageRes}
   */
  get capPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 标题语言资源对象（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getCapPSLanguageResMust(): IPSLanguageRes;

  /**
   * 成员类型
   * @description 值模式 [云平台工具栏项类型（界面行为组成员）] {DEUIACTION：实体界面行为 }
   * @type {( string | 'DEUIACTION')}
   */
  detailType: string | 'DEUIACTION';

  /**
   * 提示语言资源对象
   *
   * @type {IPSLanguageRes}
   */
  getTooltipPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 提示语言资源对象
   *
   * @type {IPSLanguageRes}
   */
  get tooltipPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 提示语言资源对象（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getTooltipPSLanguageResMust(): IPSLanguageRes;
}
